#pragma once

#include "Includes.h"
#include "VmtHooks.h"

typedef toolkit::VMTManager hook_t;

class Surface
{
private:
	hook_t*			m_Surface;
public:
	void			Init(PDWORD_PTR* ppdwClassBase);
	void			DrawSetColor( int r, int g, int b, int a );
	void			DrawLine( int x0, int y0, int x1, int y1 );
	void			DrawFilledRect( int x, int y, int w, int h );
	void			DrawOutlinedRect( int x, int y, int w, int h );
	unsigned long	CreateFont();
	bool			SetFontGlyphSet( unsigned long font, const char *windowsFontName, int tall, int weight, int blur, int scanlines, int flags );
	void			GetTextSize( unsigned long font, const wchar_t *text, int &wide, int &tall );
	void			DrawSetTextColour( int r, int g, int b, int a );
	void			DrawSetTextFont( unsigned long font );
	void			DrawSetTextPos( int x, int y );
	void			DrawPrintText( const wchar_t *text, int textLen );
};

extern Surface g_pSurface;
